1. Field of the Invention
The present invention pertains to computerized three dimensional geometric modeling systems, and particularly to a three dimensional geometric modeling system which is used for sheet metal modeling.
2. Related Art and Other Considerations
The computer has greatly affected essentially all forms of information management, including the geometric modeling arts. Nowadays there are numerous computer program products that allow the user to create, store, and modify geometric models and their graphical renderings of various types on a display screen, and to print or otherwise output such geometric models and their renderings. Such geometric models and their graphical renderings span the gambit from simple to complex, and can vary in subject matter, e.g., artistic, industrial, etc. Some geometric modeling computer program products are two dimensional, providing only length and width dimensions of objects. The more complex three dimensional computer program products, on the other hand, provide three dimensionsxe2x80x94length, width, and depth/thickness.
Three dimensional geometric modeling programs can generate a scene or part which can comprise one or more constituent 3D solid shapes. For example, a scene or part featuring a simple table would comprise a solid shape for each leg of the table, as well as a solid shape for a flat table top. In one example object-oriented geometric modeling computer program, an executable object is used to define and generate each solid shape. The object for each solid shape can have several associated components, the components being a combination of executable code and data structure. For example, a boundary representation (xe2x80x9cB-repxe2x80x9d) component includes a data structure describing the geometry and topology data for the solid shape (e.g., length, width, depth, and coordinates of the solid part).
Most three dimensional geometric modeling programs employ a feature-based parametric modeling technique. In feature-based parametric modeling, the executable object for each solid shape has not only a boundary representation component, but also a history or creation component which includes a data structure reflecting how a solid shape has been created. That is, the history/creation component includes data which indicates an order or chronological sequence of steps employed to construct the solid shape. For a simple solid block, for example, the history/creation component may indicate that the solid block began as a simple two dimensional rectangle that was extruded into a third dimension. U.S. Pat. No. 5,894,310, entitled xe2x80x9cIntelligent Shapes For Authoring Three-Dimensional Modelsxe2x80x9d, incorporated herein by reference, discloses solid shapes having various other components in addition to boundary representation and historical components: a visual component; a physical component; a functional component; and a behavioral component.
Solid parts can be formed from other solid parts. In geometric modeling terms, the building of more complicated solid shapes in hierarchical fashion from simpler solid shapes (known as xe2x80x9cprimitivesxe2x80x9d) is known as xe2x80x9cconstructed solid geometryxe2x80x9d (xe2x80x9cCSGxe2x80x9d). The simpler solid shapes can be combined using various operations (e.g., Boolean operations such as xe2x80x9candxe2x80x9d, xe2x80x9corxe2x80x9d, xe2x80x9cnotxe2x80x9d, etc.). The computer stores the overall (complex) solid shape as a tree, each of the xe2x80x9cleavesxe2x80x9d of the tree comprising a primitive solid shape.
One particular area of use for computer-aided modeling systems is in sheet metal design. Computer-aided modeling systems facilitate design of sheet metal parts, and subsequent fabrication of the parts. The computer-aided aspect of sheet metal design is particular advantageous for designing customized parts, as well as for optimizing stock on large projects. Various computer-aided modeling systems for sheet metal are commercially available. For example, xe2x80x9cMetalMan 2.0xe2x80x9d is a two dimensional manufacturing aid. A product known as xe2x80x9cSheet Advisorxe2x80x9d has utility in a sheet metal environment, but lacks creation history and does not include tool definitions in a sheet metal part""s data structure. The products xe2x80x9cSolid Edge Version 4xe2x80x9d and xe2x80x9cSolidWorks 98xe2x80x9d are both feature-based parametric modeling systems in which some types of modifications are very complex, and in which some tools are not easily reusable.
What is needed, and an object of the present invention, is a three dimensional computer aided geometric modeling system which effectively and efficiently handles sheet metal solid shapes.
A three dimensional geometric modeling system featuring an executable program allows a user to select and then drag and drop sheet metal solid shapes into a scene or assembly depicted on a display screen. The user selects the sheet metal solid shapes from a sheet metal catalog which includes such sheet metal solid shape as flat stock, add-on stock, bend solid shapes, punch solid shape, and form solid shapes.
Upon selection of a solid shape from the sheet metal catalog, an instance of a program object is created for the selected solid shape. In view of the nature of and features associated with sheet metal solid shapes, a program object for a sheet metal solid shape carries an application-specific or customized procedure which governs the drag and drop behavior of the sheet metal solid shape, unlike non-sheet metal solid shapes which utilize a generic drag and drop procedure. Implementation of the application-specific or customized drag and drop procedure occurs upon detection of a special interface through which the program object for the sheet metal solid shape acquires environmental information.
Whereas some of the program objects for the sheet metal solid shape carry their own geometric profiles utilized for such evaluation, program objects for other sheet metal solid shapes (such as the punch solid shape and the bend solid shape) do not include profiles. Rather, the program objects which do not carry profiles rely upon a profile generator to generate the profile at the request of the program object. The program object provides the profile generator with certain table reference information which specifies a particular table in a tool table library, and size entry in the table, to be utilized in generating the profile for the selected sheet metal solid shape. The profile generator uses the table reference information to generate the profile for the selected sheet metal solid shape, and returns to the requesting program object a geometric profile for use during the evaluation. The provision of a profile generator also allows the user to edit parameters in the table for a selected shape for use in creating a sheet metal solid shape.
The bend sheet metal solid shapes of the present invention include plural child solid shapes, such as a first stock or flange segment, a second stock or flange segment, a bend segment, a first relief, and a second relief. The flange or stock segments between which the bend segment is situated can be adjusted independently of the bend solid shape if the user so specifies by setting a flange flag.
The bend sheet metal solid shapes of the present invention can be aligned in accordance with one of three configurations: an xe2x80x9cOut Bendxe2x80x9d alignment option; an xe2x80x9cIn Bendxe2x80x9d alignment option; or a xe2x80x9cNon-Trim Bendxe2x80x9d alignment option. In the xe2x80x9cOut Bendxe2x80x9d option the bend solid shape is trimmed back to a target solid shape to which it is added to allow the outside surface of bend solid shape to align with the original position of the end surface of the target solid shape. In the xe2x80x9cIn Bendxe2x80x9d option, addition of the bend solid shape trims back the target solid shape to which it is added to allow the inside surface of bend solid shape to align with the original position of the end surface of the target solid shape. In the xe2x80x9cNon-Trim Bendxe2x80x9d option the bend solid shape is added to target solid shape without trimming back the target solid shape.
The three dimensional sheet metal modeling system and program of the present invention provides numerous editing handles for editing sheet metal solid shapes either on a part level or a shape level.
The three dimensional sheet metal modeling system and program of the present invention also permits unified movement of plural solid shapes comprising a solid part. Upon the user defining a neighborhood of solid shapes comprising the part and the user prescribing a movement, all solid shapes of the neighborhood move in unison on the display device in accordance with the prescribed movement. For example, sheet metal solid shapes attached to one end of a sheet metal bend solid shape move in unison with a portion of the sheet metal bend solid shape as the bend angle of the sheet metal bend solid shape is adjusted or changed.